KTN-14
| Field | Isi |
|---|---|
| Dokumen ID | KTN-14 |
| Deskripsi | Expired date pada barang masuk |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | expired_date sudah ada di Barang_Masuk_Rinci; diakomodasi pada penerimaan barang, pembelian atas SO, dan penjualan atas SO |
1. Ringkasan
a. In scope
- Memastikan
expired_datepadaBarang_Masuk_Rinciterisi / terpakai pada alur terkait - User mengisi
expired_datepada penerimaan barang - User mengisi
expired_datepada pembelian atas SO - User mengisi / membawa
expired_datepada penjualan atas SO
b. Catatan
- Field
expired_datesudah ada diBarang_Masuk_Rinci - Pekerjaan dokumen ini adalah mengakomodasi field tersebut di UI dan payload transaksi yang disebut di in scope
c. Kesimpulan
- [FE] Tambah input
expired_datepada penerimaan barang - [FE] Tambah input
expired_datepada pembelian atas SO - [FE] Akomodasi
expired_datepada penjualan atas SO - [BE] Pastikan
expired_datediteruskan dan disimpan keBarang_Masuk_Rincipada alur masuk terkait - [BE] Pastikan response lot / transaksi terkait memuat
expired_date
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Barang_Masuk_Rinci menyimpan expired_date |
| FR-02 | Penerimaan barang dapat mengisi expired_date |
| FR-03 | Pembelian atas SO dapat mengisi expired_date |
| FR-04 | Penjualan atas SO dapat mengisi / membawa expired_date |
| FR-05 | Create / update lot barang masuk menyimpan expired_date |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Mengisi expired date pada penerimaan barang |
| UC-02 | Mengisi expired date pada pembelian atas SO |
| UC-03 | Mengisi / membawa expired date pada penjualan atas SO |
| UC-04 | Menyimpan expired date ke Barang_Masuk_Rinci |
4. Use Case Scenario
UC-01 : Mengisi expired date pada penerimaan barang
| Aktor | User gudang / penerimaan |
| Deskripsi | User mengisi tanggal kedaluwarsa saat menerima barang |
| Prekondisi | User sudah login Hak buat penerimaan barang |
| Alur utama | 1. User membuka form penerimaan barang. 2. User menambah baris barang. 3. User mengisi expired_date.4. User menyimpan penerimaan. 5. Sistem menyimpan expired_date ke Barang_Masuk_Rinci. |
| Alur negatif | - Jika expired_date wajib namun kosong, simpan ditolak.- Jika gagal menyimpan, penerimaan / lot tidak terbentuk. |
| Bisnis rule | - expired_date melekat pada lot Barang_Masuk_Rinci. |
| Postkondisi | Lot penerimaan punya expired_date |
| Trigger | User simpan penerimaan barang |
| Kode FR | FR-01 FR-02 FR-05 |
UC-02 : Mengisi expired date pada pembelian atas SO
| Aktor | User pembelian |
| Deskripsi | User mengisi tanggal kedaluwarsa pada pembelian atas SO |
| Prekondisi | User sudah login Dokumen SO / konteks pembelian terkait tersedia |
| Alur utama | 1. User membuka form pembelian atas SO. 2. User mengisi baris barang. 3. User mengisi expired_date per baris / lot.4. User menyimpan pembelian. 5. Sistem menyimpan expired_date ke Barang_Masuk_Rinci. |
| Alur negatif | - Jika validasi gagal, pembelian tidak tersimpan. - Jika gagal membentuk lot, transaksi digagalkan. |
| Bisnis rule | - expired_date ikut dikirim saat pembentukan Barang_Masuk_Rinci. |
| Postkondisi | Lot pembelian punya expired_date |
| Trigger | User simpan pembelian atas SO |
| Kode FR | FR-01 FR-03 FR-05 |
UC-03 : Mengisi / membawa expired date pada penjualan atas SO
| Aktor | User penjualan |
| Deskripsi | User mengisi atau membawa expired_date pada penjualan atas SO terkait lot barang masuk |
| Prekondisi | SO tersedia Hak buat penjualan atas SO |
| Alur utama | 1. User membuka penjualan atas SO. 2. Sistem memuat baris SO. 3. User mengisi / sistem membawa expired_date dari lot terkait.4. User menyimpan penjualan atas SO. |
| Alur negatif | - Jika SO tidak ditemukan, proses tidak dilanjutkan. - Jika lot terkait tidak ada, expired_date tidak tersedia. |
| Bisnis rule | - Data expired_date merujuk ke Barang_Masuk_Rinci.- Pemilihan lot keluar secara FIFO / kustom diatur lebih lanjut di KTN-15. |
| Postkondisi | Penjualan atas SO memakai informasi expired_date lot |
| Trigger | User membuat penjualan atas SO |
| Kode FR | FR-04 |
UC-04 : Menyimpan expired date ke Barang_Masuk_Rinci
| Aktor | Sistem BE |
| Deskripsi | BE menyimpan expired_date ke Barang_Masuk_Rinci |
| Prekondisi | Payload memuat expired_date |
| Alur utama | 1. FE mengirim transaksi beserta expired_date.2. BE membentuk / memperbarui lot. 3. BE menulis expired_date ke Barang_Masuk_Rinci. |
| Alur negatif | - Jika nilai tidak valid, request ditolak. - Jika gagal tulis lot, transaksi digagalkan. |
| Bisnis rule | - Sumber kebenaran expired_date lot adalah Barang_Masuk_Rinci.expired_date. |
| Postkondisi | Lot tersimpan dengan expired_date |
| Trigger | Create / update barang masuk |
| Kode FR | FR-01 FR-05 |
5. Data Flow Diagram
DFD-01 — Expired date barang masuk
6. Sequence Diagram
SD-01 — UC-01 : Mengisi expired date pada penerimaan barang
SD-02 — UC-02 : Mengisi expired date pada pembelian atas SO
SD-03 — UC-03 : Mengisi / membawa expired date pada penjualan atas SO
SD-04 — UC-04 : Menyimpan expired date ke Barang_Masuk_Rinci
7. Table Schema
| Table | Field | Status | Deskripsi |
|---|---|---|---|
Barang_Masuk_Rinci | expired_date | existing | Tanggal kedaluwarsa lot barang masuk |
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
POST /invoice-penerimaan-barang | changed | Terima expired_date → simpan ke Barang_Masuk_Rinci |
POST /[url_pembelian]/pembelian | changed | Terima expired_date pada pembelian atas SO → simpan ke Barang_Masuk_Rinci |
POST /penjualan | changed | Akomodasi expired_date / tautan lot pada penjualan atas SO |
POST /barang-masuk | changed | Terima / simpan expired_date |
POST /barang-masuk/bulk | changed | Terima / simpan expired_date |
GET /barang-masuk | changed | Response memuat expired_date |